<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./../resources/main.xhtml"
                xmlns:h="http://xmlns.jcp.org/jsf/html"
                xmlns:p="http://primefaces.org/ui"
                xmlns:f="http://xmlns.jcp.org/jsf/core"
                xmlns="http://www.w3.org/1999/xhtml">

    <ui:define name="content">
        <h:outputStylesheet library="css" name="estilo.css" />
        <h:outputScript library="js" name="javaScript.js" />
        <p:separator />
        <div class="pagina">
            Cadastro de Funcionário
        </div>        
        <p:separator />
        <h:form id="cadFunc">           
            <p:growl id="msg1" />
            <h:inputHidden value="#{mbFuncionario.funcionario.idFuncionario}" />

            <h:panelGrid columns="8">
                <h:outputLabel styleClass="lb" value="Nome.:" for="nome" />
                <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.nome}" id="nome" onkeyup="this.value = this.value.toUpperCase()" size="50" required="true" requiredMessage="O nome é obrigatório!"/>

                <h:outputLabel value="Sexo.:" for="sexo" styleClass="lb" />                                
                <h:selectOneMenu id="sexo" value="#{mbFuncionario.funcionario.sexo}" styleClass="tx" >
                    <f:selectItem itemValue="-" itemLabel="-" noSelectionOption="true" />
                    <f:selectItem itemValue="FEMININO" itemLabel="FEMININO"  />
                    <f:selectItem itemValue="MASCULINO" itemLabel="MASCULINO" />                    
                </h:selectOneMenu>

                <h:outputLabel styleClass="lb" value="CPF.:" for="cpf" />
                <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.cpf}" id="cpf" size="20" 
                             onkeyup="cpfFuncionario(this.value);" maxlength="14" validatorMessage="CPF Inválido">
                    <f:validateRegex pattern="[\d]{3}.[\d]{3}.[\d]{3}-[\d]{2}$" />
                </h:inputText>


                <h:outputLabel styleClass="lb" value="RG.:" for="rg" />
                <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.rg}" id="rg" size="20" />
            </h:panelGrid>
            <h:panelGrid columns="8">
                <h:outputLabel value="SSP.:" for="ssp" styleClass="lb" />
                <h:inputText id="ssp" styleClass="tx" value="#{mbFuncionario.funcionario.ssp}" onkeyup="this.value = this.value.toUpperCase()" size="15" />               

                <h:outputLabel styleClass="lb" value="DT. Nascimento:" for="nascimento" />
                <h:panelGroup>
                    <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.nascimento}" id="nascimento" size="15" 
                                 onkeyup="dataNascFuncionario(this.value);" maxlength="10" converterMessage="Data de nascimento não e válida" validator="dateValidator">
                        <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>                        
                    </h:inputText>
                    <p:message for="nascimento" showDetail="true"/>
                </h:panelGroup>
                <h:outputLabel value="Escolaridade.:" styleClass="lb" />
                <h:selectOneMenu id="escolaridade" value="#{mbFuncionario.funcionario.escolaridade}" styleClass="tx" >
                    <f:selectItem itemValue="-" itemLabel="-" noSelectionOption="true" />
                    <f:selectItem itemValue="ENSINO FUNDAMENTAL" itemLabel="ENSINO FUNDAMENTAL"  />
                    <f:selectItem itemValue="ENSINO MÉDIO" itemLabel="ENSINO MÉDIO"  />
                    <f:selectItem itemValue="ENSINO SUPERIOR" itemLabel="ENSINO SUPERIOR"  />
                    <f:selectItem itemValue="OUTROS" itemLabel="OUTROS"  />                    
                </h:selectOneMenu>
                <h:outputLabel styleClass="lb" value="Telefone.:" for="telefone" />
                <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.telefone}" id="telefone" 
                             onkeyup="telefoneFuncionario(this.value);" size="15" maxlength="13"/>
            </h:panelGrid>
            <h:panelGrid columns="6">
                <h:outputLabel styleClass="lb" value="Celular.:" for="celular" />
                <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.celular}" id="celular" 
                             onkeyup="celularFuncionario(this.value);" size="15" maxlength="13"/>

                <h:outputLabel styleClass="lb" value="Endereço.:" for="endereco" />
                <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.endereco}" id="endereco" onkeyup="this.value = this.value.toUpperCase()" size="50" />

                <h:outputLabel styleClass="lb" value="Bairro.:" for="bairro" />
                <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.bairro}" id="bairro" onkeyup="this.value = this.value.toUpperCase()" size="50" />
            </h:panelGrid>
            <h:panelGrid columns="4">
                <h:outputLabel value="Município.:" for="municipio1" styleClass="lb" />
                <h:selectOneMenu id="municipio1" value="#{mbFuncionario.funcionario.cidade.idCidade}" styleClass="tx" style="width: 220px;" required="true" requiredMessage="Campo município e obrigatório">
                    <f:selectItem itemValue="" itemLabel="-" /> 
                    <f:selectItems value="#{mbCidade.cidades}" var="c" itemValue="#{c.idCidade}" itemLabel="#{c.cidade} - #{c.uf}" />
                </h:selectOneMenu>

                <h:outputLabel styleClass="lb" value="CEP.:" for="cep" />
                <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.cep}" id="cep" 
                             onkeyup="cepFuncionario(this.value);" size="15" maxlength="9"/>
            </h:panelGrid>
            <h:panelGrid columns="7">
                <h:outputLabel styleClass="lb" value="Função.:" for="funcao" />
                <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.cargo}" id="funcao" onkeyup="this.value = this.value.toUpperCase()" size="50" />

                <h:outputLabel styleClass="lb" value="DT. Admissão.:" for="admissao" />
                <h:inputText styleClass="tx" value="#{mbFuncionario.funcionario.dataAdmissao}" id="admissao" size="15" 
                             onkeyup="dataAdmissaoFuncionario(this.value);" maxlength="10" converterMessage="Data de admissão não e válida" validator="dateValidator">
                    <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>                        
                </h:inputText>
                <h:outputLabel styleClass="lb" value="Ativo.:" for="ativo" />
                <h:selectBooleanCheckbox value="#{mbFuncionario.funcionario.ativo}" id="ativo" styleClass="tx" />              

                <h:panelGroup style="padding-left: 30px;">
                    <p:commandButton value="Cancelar" action="#{mbFuncionario.limparFuncionario}" ajax="false" update="@form" />
                    <p:commandButton value="Salvar" action="#{mbFuncionario.salvarFuncionario}" update="@form" ajax="false" />
                </h:panelGroup>
            </h:panelGrid> 
        </h:form>
        <p:separator />
        <div class="pagina">
            Lista de Funcionário
        </div>
        <p:separator />
        <h:form id="frmPesqHospede">
            <fieldset>
                <legend style="font-size: 18px; color: #D20005">Pesquisar Funcionário</legend>
                <h:panelGrid columns="3">                   
                    <h:outputLabel value="Nome.:" styleClass="lb" style="float: left;"/>
                    <h:inputText value="#{mbFuncionario.pesquisa}" onkeyup="this.value = this.value.toUpperCase()" 
                                 styleClass="tx" style="color: #D20005;" size="40">                
                    </h:inputText>
                    <p:commandLink action="#{mbFuncionario.pesquisarFuncionario}" update=":tblFunc" title="Click para realizar a pesquisa" ajax="false">
                        <h:graphicImage library="img" name="lupa2.bmp" />
                    </p:commandLink>
                </h:panelGrid>
            </fieldset>
        </h:form>
        <p:separator />       
        <h:form>            
            <p:dataTable id="tblFunc" value="#{mbFuncionario.funcionarios}" var="f" emptyMessage="Lista de funcionario" scrollable="true" scrollHeight="150">
                <p:column headerText="Cod" style="text-align: left; font-size: 12px;" width="25">
                    <h:outputText value="#{f.idFuncionario}" styleClass="txt"/>
                </p:column>
                <p:column headerText="Nome" style="text-align: left; font-size: 12px;" sortBy="nome" width="190">
                    <h:outputText value="#{f.nome}" styleClass="txt"/>
                </p:column>
                <p:column headerText="Função" style="text-align: left; font-size: 12px;" sortBy="cargo">
                    <h:outputText value="#{f.cargo}" styleClass="txt"/>
                </p:column>                                
                <p:column headerText="Endereço" style="text-align: left; font-size: 12px;">
                    <h:outputText value="#{f.endereco}" styleClass="txt"/>
                </p:column>
                <p:column headerText="Bairro" style="text-align: left; font-size: 12px;">
                    <h:outputText value="#{f.bairro}" styleClass="txt"/>
                </p:column>
                <p:column headerText="Telefone" style="text-align: left; font-size: 12px;">
                    <h:outputText value="#{f.telefone}" styleClass="txt"/>
                </p:column>
                <p:column headerText="Status" style="text-align: left; font-size: 12px;">
                    <h:outputText value="ATIVO" rendered="#{f.ativo}" styleClass="txt"/>
                    <h:outputText value="INATIVO" rendered="#{!f.ativo}" styleClass="txt"/>
                </p:column>
                <p:column headerText="Alterar" style="text-align: center; font-size: 12px;" width="30">
                    <p:commandLink action="#{mbFuncionario.alterarFuncionario(f.idFuncionario)}" ajax="false" update=":cadFunc" title="Alterar">
                        <h:graphicImage library="img" name="edicao.png" />
                    </p:commandLink>
                </p:column>
            </p:dataTable>
        </h:form>
    </ui:define>
</ui:composition>
